<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/linux/vmstat.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/linux/vmstat.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0xJTlVYX1ZNU1RBVF9IXzA_"><span class="b">_LINUX_VMSTAT_H</span></a>
<a name="2" /><span class="True">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0xJTlVYX1ZNU1RBVF9IXzA_"><span class="b">_LINUX_VMSTAT_H</span></a>
<a name="3" /><span class="True">       3:</span> 
<a name="4" /><span class="True">       4:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">types</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="5" /><span class="True">       5:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">percpu</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="6" /><span class="True">       6:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">mm</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="7" /><span class="True">       7:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">mmzone</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="8" /><span class="True">       8:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">vm_event_item</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="9" /><span class="True">       9:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">atomic</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="10" /><span class="True">      10:</span> 
<a name="11" /><span class="True">      11:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">sysctl_stat_interval</span><span class="f">;</span>
<a name="12" /><span class="True">      12:</span> 
<a name="13" /><span class="True">      13:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1ZNX0VWRU5UX0NPVU5URVJTXzA_"><span class="b">CONFIG_VM_EVENT_COUNTERS</span></a>
<a name="14" /><span class="True">      14:</span> <span class="k">/*</span>
<a name="15" /><span class="True">      15:</span> <span class="k"> * Light weight per cpu counter implementation.</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> *</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> * Counters should only be incremented and no critical kernel component</span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * should rely on the counter values.</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> *</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * Counters are handled completely inline. On many platforms the code</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> * generated will simply be the increment of a global address.</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> */</span>
<a name="23" /><span class="True">      23:</span> 
<a name="24" /><span class="True">      24:</span> <span class="m">struct</span> <span class="b">vm_event_state</span> <span class="f">{</span>
<a name="25" /><span class="True">      25:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">event</span><span class="f">[</span><span class="b">NR_VM_EVENT_ITEMS</span><span class="f">]</span><span class="f">;</span>
<a name="26" /><span class="True">      26:</span> <span class="f">}</span><span class="f">;</span>
<a name="27" /><span class="True">      27:</span> 
<a name="28" /><span class="True">      28:</span> <a href="cpu.c_macros_ref.html#_REVDTEFSRV9QRVJfQ1BVXzA_"><span class="b">DECLARE_PER_CPU</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">vm_event_state</span><span class="f">,</span> <span class="b">vm_event_states</span><span class="f">)</span><span class="f">;</span>
<a name="29" /><span class="True">      29:</span> 
<a name="30" /><span class="True">      30:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">__count_vm_event</span><span class="f">(</span><span class="m">enum</span> <span class="b">vm_event_item</span> <span class="b">item</span><span class="f">)</span>
<a name="31" /><span class="True">      31:</span> <span class="f">{</span>
<a name="32" /><span class="True">      32:</span>     <a href="cpu.c_macros_ref.html#_X190aGlzX2NwdV9pbmNfMA__"><span class="b">__this_cpu_inc</span></a><span class="f">(</span><span class="b">vm_event_states</span><span class="f">.</span><span class="b">event</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="33" /><span class="True">      33:</span> <span class="f">}</span>
<a name="34" /><span class="True">      34:</span> 
<a name="35" /><span class="True">      35:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">count_vm_event</span><span class="f">(</span><span class="m">enum</span> <span class="b">vm_event_item</span> <span class="b">item</span><span class="f">)</span>
<a name="36" /><span class="True">      36:</span> <span class="f">{</span>
<a name="37" /><span class="True">      37:</span>     <a href="cpu.c_macros_ref.html#_dGhpc19jcHVfaW5jXzA_"><span class="b">this_cpu_inc</span></a><span class="f">(</span><span class="b">vm_event_states</span><span class="f">.</span><span class="b">event</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="38" /><span class="True">      38:</span> <span class="f">}</span>
<a name="39" /><span class="True">      39:</span> 
<a name="40" /><span class="True">      40:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">__count_vm_events</span><span class="f">(</span><span class="m">enum</span> <span class="b">vm_event_item</span> <span class="b">item</span><span class="f">,</span> <span class="m">long</span> <span class="b">delta</span><span class="f">)</span>
<a name="41" /><span class="True">      41:</span> <span class="f">{</span>
<a name="42" /><span class="True">      42:</span>     <a href="cpu.c_macros_ref.html#_X190aGlzX2NwdV9hZGRfMA__"><span class="b">__this_cpu_add</span></a><span class="f">(</span><span class="b">vm_event_states</span><span class="f">.</span><span class="b">event</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">,</span> <span class="b">delta</span><span class="f">)</span><span class="f">;</span>
<a name="43" /><span class="True">      43:</span> <span class="f">}</span>
<a name="44" /><span class="True">      44:</span> 
<a name="45" /><span class="True">      45:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">count_vm_events</span><span class="f">(</span><span class="m">enum</span> <span class="b">vm_event_item</span> <span class="b">item</span><span class="f">,</span> <span class="m">long</span> <span class="b">delta</span><span class="f">)</span>
<a name="46" /><span class="True">      46:</span> <span class="f">{</span>
<a name="47" /><span class="True">      47:</span>     <a href="cpu.c_macros_ref.html#_dGhpc19jcHVfYWRkXzA_"><span class="b">this_cpu_add</span></a><span class="f">(</span><span class="b">vm_event_states</span><span class="f">.</span><span class="b">event</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">,</span> <span class="b">delta</span><span class="f">)</span><span class="f">;</span>
<a name="48" /><span class="True">      48:</span> <span class="f">}</span>
<a name="49" /><span class="True">      49:</span> 
<a name="50" /><span class="True">      50:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">all_vm_events</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">long</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="51" /><span class="True">      51:</span> 
<a name="52" /><span class="True">      52:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">vm_events_fold_cpu</span><span class="f">(</span><span class="m">int</span> <span class="b">cpu</span><span class="f">)</span><span class="f">;</span>
<a name="53" /><span class="True">      53:</span> 
<a name="54" /><span class="False">      54:</span> <span class="f">#</span><span class="n">else</span>
<a name="55" /><span class="False">      55:</span> 
<a name="56" /><span class="False">      56:</span> <span class="k">/* Disable counters */</span>
<a name="57" /><span class="False">      57:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">count_vm_event</span><span class="f">(</span><span class="m">enum</span> <span class="b">vm_event_item</span> <span class="b">item</span><span class="f">)</span>
<a name="58" /><span class="False">      58:</span> <span class="f">{</span>
<a name="59" /><span class="False">      59:</span> <span class="f">}</span>
<a name="60" /><span class="False">      60:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">count_vm_events</span><span class="f">(</span><span class="m">enum</span> <span class="b">vm_event_item</span> <span class="b">item</span><span class="f">,</span> <span class="m">long</span> <span class="b">delta</span><span class="f">)</span>
<a name="61" /><span class="False">      61:</span> <span class="f">{</span>
<a name="62" /><span class="False">      62:</span> <span class="f">}</span>
<a name="63" /><span class="False">      63:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">__count_vm_event</span><span class="f">(</span><span class="m">enum</span> <span class="b">vm_event_item</span> <span class="b">item</span><span class="f">)</span>
<a name="64" /><span class="False">      64:</span> <span class="f">{</span>
<a name="65" /><span class="False">      65:</span> <span class="f">}</span>
<a name="66" /><span class="False">      66:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">__count_vm_events</span><span class="f">(</span><span class="m">enum</span> <span class="b">vm_event_item</span> <span class="b">item</span><span class="f">,</span> <span class="m">long</span> <span class="b">delta</span><span class="f">)</span>
<a name="67" /><span class="False">      67:</span> <span class="f">{</span>
<a name="68" /><span class="False">      68:</span> <span class="f">}</span>
<a name="69" /><span class="False">      69:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">all_vm_events</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">long</span> <span class="f">*</span><span class="b">ret</span><span class="f">)</span>
<a name="70" /><span class="False">      70:</span> <span class="f">{</span>
<a name="71" /><span class="False">      71:</span> <span class="f">}</span>
<a name="72" /><span class="False">      72:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">vm_events_fold_cpu</span><span class="f">(</span><span class="m">int</span> <span class="b">cpu</span><span class="f">)</span>
<a name="73" /><span class="False">      73:</span> <span class="f">{</span>
<a name="74" /><span class="False">      74:</span> <span class="f">}</span>
<a name="75" /><span class="False">      75:</span> 
<a name="76" /><span class="True">      76:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* CONFIG_VM_EVENT_COUNTERS */</span>
<a name="77" /><span class="True">      77:</span> 
<a name="78" /><span class="False">      78:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">CONFIG_NUMA_BALANCING</span>
<a name="79" /><span class="False">      79:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Y291bnRfdm1fbnVtYV9ldmVudF8w"><span class="b">count_vm_numa_event</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>     <span class="b">count_vm_event</span><span class="f">(</span><span class="b">x</span><span class="f">)</span>
<a name="80" /><span class="False">      80:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Y291bnRfdm1fbnVtYV9ldmVudHNfMA__"><span class="b">count_vm_numa_events</span></a><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="b">y</span><span class="f">)</span> <span class="b">count_vm_events</span><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="b">y</span><span class="f">)</span>
<a name="81" /><span class="True">      81:</span> <span class="f">#</span><span class="n">else</span>
<a name="82" /><span class="True">      82:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Y291bnRfdm1fbnVtYV9ldmVudF8w"><span class="b">count_vm_numa_event</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="m">do</span> <span class="f">{</span><span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="83" /><span class="True">      83:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Y291bnRfdm1fbnVtYV9ldmVudHNfMA__"><span class="b">count_vm_numa_events</span></a><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="b">y</span><span class="f">)</span> <span class="m">do</span> <span class="f">{</span> <span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">(</span><span class="b">y</span><span class="f">)</span><span class="f">;</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="84" /><span class="True">      84:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* CONFIG_NUMA_BALANCING */</span>
<a name="85" /><span class="True">      85:</span> 
<a name="86" /><span class="True">      86:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19jb3VudF96b25lX3ZtX2V2ZW50c18w"><span class="b">__count_zone_vm_events</span></a><span class="f">(</span><span class="b">item</span><span class="f">,</span> <span class="b">zone</span><span class="f">,</span> <span class="b">delta</span><span class="f">)</span> \
<a name="87" /><span class="True">      87:</span>         <span class="b">__count_vm_events</span><span class="f">(</span><span class="b">item</span><span class="f">##</span><span class="b">_NORMAL</span> <span class="f">-</span> <span class="b">ZONE_NORMAL</span> <span class="f">+</span> \
<a name="88" /><span class="True">      88:</span>         <a href="cpu.c_macros_noref.html#_em9uZV9pZHhfMA__"><span class="b">zone_idx</span></a><span class="f">(</span><span class="b">zone</span><span class="f">)</span><span class="f">,</span> <span class="b">delta</span><span class="f">)</span>
<a name="89" /><span class="True">      89:</span> 
<a name="90" /><span class="True">      90:</span> <span class="k">/*</span>
<a name="91" /><span class="True">      91:</span> <span class="k"> * Zone based page accounting with per cpu differentials.</span>
<a name="92" /><span class="True">      92:</span> <span class="k"> */</span>
<a name="93" /><span class="True">      93:</span> <span class="m">extern</span> <span class="b">atomic_long_t</span> <span class="b">vm_stat</span><span class="f">[</span><span class="b">NR_VM_ZONE_STAT_ITEMS</span><span class="f">]</span><span class="f">;</span>
<a name="94" /><span class="True">      94:</span> 
<a name="95" /><span class="True">      95:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">zone_page_state_add</span><span class="f">(</span><span class="m">long</span> <span class="b">x</span><span class="f">,</span> <span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">,</span>
<a name="96" /><span class="True">      96:</span>                  <span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">)</span>
<a name="97" /><span class="True">      97:</span> <span class="f">{</span>
<a name="98" /><span class="True">      98:</span>     <span class="b">atomic_long_add</span><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="f">&amp;</span><span class="b">zone</span><span class="f">-&gt;</span><span class="b">vm_stat</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="99" /><span class="True">      99:</span>     <span class="b">atomic_long_add</span><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="f">&amp;</span><span class="b">vm_stat</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="100" /><span class="True">     100:</span> <span class="f">}</span>
<a name="101" /><span class="True">     101:</span> 
<a name="102" /><span class="True">     102:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">global_page_state</span><span class="f">(</span><span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">)</span>
<a name="103" /><span class="True">     103:</span> <span class="f">{</span>
<a name="104" /><span class="True">     104:</span>     <span class="m">long</span> <span class="b">x</span> <span class="f">=</span> <span class="b">atomic_long_read</span><span class="f">(</span><span class="f">&amp;</span><span class="b">vm_stat</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="105" /><span class="True">     105:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1NNUF8w"><span class="b">CONFIG_SMP</span></a>
<a name="106" /><span class="True">     106:</span>     <span class="m">if</span> <span class="f">(</span><span class="b">x</span> <span class="f">&lt;</span> <span class="c">0</span><span class="f">)</span>
<a name="107" /><span class="True">     107:</span>         <span class="b">x</span> <span class="f">=</span> <span class="c">0</span><span class="f">;</span>
<a name="108" /><span class="True">     108:</span> <span class="f">#</span><span class="n">endif</span>
<a name="109" /><span class="True">     109:</span>     <span class="m">return</span> <span class="b">x</span><span class="f">;</span>
<a name="110" /><span class="True">     110:</span> <span class="f">}</span>
<a name="111" /><span class="True">     111:</span> 
<a name="112" /><span class="True">     112:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">zone_page_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">,</span>
<a name="113" /><span class="True">     113:</span>                     <span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">)</span>
<a name="114" /><span class="True">     114:</span> <span class="f">{</span>
<a name="115" /><span class="True">     115:</span>     <span class="m">long</span> <span class="b">x</span> <span class="f">=</span> <span class="b">atomic_long_read</span><span class="f">(</span><span class="f">&amp;</span><span class="b">zone</span><span class="f">-&gt;</span><span class="b">vm_stat</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="116" /><span class="True">     116:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1NNUF8w"><span class="b">CONFIG_SMP</span></a>
<a name="117" /><span class="True">     117:</span>     <span class="m">if</span> <span class="f">(</span><span class="b">x</span> <span class="f">&lt;</span> <span class="c">0</span><span class="f">)</span>
<a name="118" /><span class="True">     118:</span>         <span class="b">x</span> <span class="f">=</span> <span class="c">0</span><span class="f">;</span>
<a name="119" /><span class="True">     119:</span> <span class="f">#</span><span class="n">endif</span>
<a name="120" /><span class="True">     120:</span>     <span class="m">return</span> <span class="b">x</span><span class="f">;</span>
<a name="121" /><span class="True">     121:</span> <span class="f">}</span>
<a name="122" /><span class="True">     122:</span> 
<a name="123" /><span class="True">     123:</span> <span class="k">/*</span>
<a name="124" /><span class="True">     124:</span> <span class="k"> * More accurate version that also considers the currently pending</span>
<a name="125" /><span class="True">     125:</span> <span class="k"> * deltas. For that we need to loop over all cpus to find the current</span>
<a name="126" /><span class="True">     126:</span> <span class="k"> * deltas. There is no synchronization so the result cannot be</span>
<a name="127" /><span class="True">     127:</span> <span class="k"> * exactly accurate either.</span>
<a name="128" /><span class="True">     128:</span> <span class="k"> */</span>
<a name="129" /><span class="True">     129:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">zone_page_state_snapshot</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">,</span>
<a name="130" /><span class="True">     130:</span>                     <span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">)</span>
<a name="131" /><span class="True">     131:</span> <span class="f">{</span>
<a name="132" /><span class="True">     132:</span>     <span class="m">long</span> <span class="b">x</span> <span class="f">=</span> <span class="b">atomic_long_read</span><span class="f">(</span><span class="f">&amp;</span><span class="b">zone</span><span class="f">-&gt;</span><span class="b">vm_stat</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="133" /><span class="True">     133:</span> 
<a name="134" /><span class="True">     134:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1NNUF8w"><span class="b">CONFIG_SMP</span></a>
<a name="135" /><span class="True">     135:</span>     <span class="m">int</span> <span class="b">cpu</span><span class="f">;</span>
<a name="136" /><span class="True">     136:</span>     <a href="cpu.c_macros_ref.html#_Zm9yX2VhY2hfb25saW5lX2NwdV8w"><span class="b">for_each_online_cpu</span></a><span class="f">(</span><span class="b">cpu</span><span class="f">)</span>
<a name="137" /><span class="True">     137:</span>         <span class="b">x</span> <span class="f">+=</span> <a href="cpu.c_macros_ref.html#_cGVyX2NwdV9wdHJfMA__"><span class="b">per_cpu_ptr</span></a><span class="f">(</span><span class="b">zone</span><span class="f">-&gt;</span><span class="b">pageset</span><span class="f">,</span> <span class="b">cpu</span><span class="f">)</span><span class="f">-&gt;</span><span class="b">vm_stat_diff</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">;</span>
<a name="138" /><span class="True">     138:</span> 
<a name="139" /><span class="True">     139:</span>     <span class="m">if</span> <span class="f">(</span><span class="b">x</span> <span class="f">&lt;</span> <span class="c">0</span><span class="f">)</span>
<a name="140" /><span class="True">     140:</span>         <span class="b">x</span> <span class="f">=</span> <span class="c">0</span><span class="f">;</span>
<a name="141" /><span class="True">     141:</span> <span class="f">#</span><span class="n">endif</span>
<a name="142" /><span class="True">     142:</span>     <span class="m">return</span> <span class="b">x</span><span class="f">;</span>
<a name="143" /><span class="True">     143:</span> <span class="f">}</span>
<a name="144" /><span class="True">     144:</span> 
<a name="145" /><span class="True">     145:</span> <span class="m">extern</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">global_reclaimable_pages</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="146" /><span class="True">     146:</span> 
<a name="147" /><span class="True">     147:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX05VTUFfMA__"><span class="b">CONFIG_NUMA</span></a>
<a name="148" /><span class="True">     148:</span> <span class="k">/*</span>
<a name="149" /><span class="True">     149:</span> <span class="k"> * Determine the per node value of a stat item. This function</span>
<a name="150" /><span class="True">     150:</span> <span class="k"> * is called frequently in a NUMA machine, so try to be as</span>
<a name="151" /><span class="True">     151:</span> <span class="k"> * frugal as possible.</span>
<a name="152" /><span class="True">     152:</span> <span class="k"> */</span>
<a name="153" /><span class="True">     153:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">node_page_state</span><span class="f">(</span><span class="m">int</span> <span class="b">node</span><span class="f">,</span>
<a name="154" /><span class="True">     154:</span>                  <span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">)</span>
<a name="155" /><span class="True">     155:</span> <span class="f">{</span>
<a name="156" /><span class="True">     156:</span>     <span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zones</span> <span class="f">=</span> <a href="cpu.c_macros_ref.html#_Tk9ERV9EQVRBXzA_"><span class="b">NODE_DATA</span></a><span class="f">(</span><span class="b">node</span><span class="f">)</span><span class="f">-&gt;</span><span class="b">node_zones</span><span class="f">;</span>
<a name="157" /><span class="True">     157:</span> 
<a name="158" /><span class="True">     158:</span>     <span class="m">return</span>
<a name="159" /><span class="True">     159:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1pPTkVfRE1BXzA_"><span class="b">CONFIG_ZONE_DMA</span></a>
<a name="160" /><span class="True">     160:</span>         <span class="b">zone_page_state</span><span class="f">(</span><span class="f">&amp;</span><span class="b">zones</span><span class="f">[</span><span class="b">ZONE_DMA</span><span class="f">]</span><span class="f">,</span> <span class="b">item</span><span class="f">)</span> <span class="f">+</span>
<a name="161" /><span class="True">     161:</span> <span class="f">#</span><span class="n">endif</span>
<a name="162" /><span class="True">     162:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1pPTkVfRE1BMzJfMA__"><span class="b">CONFIG_ZONE_DMA32</span></a>
<a name="163" /><span class="True">     163:</span>         <span class="b">zone_page_state</span><span class="f">(</span><span class="f">&amp;</span><span class="b">zones</span><span class="f">[</span><span class="b">ZONE_DMA32</span><span class="f">]</span><span class="f">,</span> <span class="b">item</span><span class="f">)</span> <span class="f">+</span>
<a name="164" /><span class="True">     164:</span> <span class="f">#</span><span class="n">endif</span>
<a name="165" /><span class="False">     165:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">CONFIG_HIGHMEM</span>
<a name="166" /><span class="False">     166:</span>         <span class="b">zone_page_state</span><span class="f">(</span><span class="f">&amp;</span><span class="b">zones</span><span class="f">[</span><span class="b">ZONE_HIGHMEM</span><span class="f">]</span><span class="f">,</span> <span class="b">item</span><span class="f">)</span> <span class="f">+</span>
<a name="167" /><span class="True">     167:</span> <span class="f">#</span><span class="n">endif</span>
<a name="168" /><span class="True">     168:</span>         <span class="b">zone_page_state</span><span class="f">(</span><span class="f">&amp;</span><span class="b">zones</span><span class="f">[</span><span class="b">ZONE_NORMAL</span><span class="f">]</span><span class="f">,</span> <span class="b">item</span><span class="f">)</span> <span class="f">+</span>
<a name="169" /><span class="True">     169:</span>         <span class="b">zone_page_state</span><span class="f">(</span><span class="f">&amp;</span><span class="b">zones</span><span class="f">[</span><span class="b">ZONE_MOVABLE</span><span class="f">]</span><span class="f">,</span> <span class="b">item</span><span class="f">)</span><span class="f">;</span>
<a name="170" /><span class="True">     170:</span> <span class="f">}</span>
<a name="171" /><span class="True">     171:</span> 
<a name="172" /><span class="True">     172:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">zone_statistics</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="f">,</span> <span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="f">,</span> <span class="b">gfp_t</span> <span class="b">gfp</span><span class="f">)</span><span class="f">;</span>
<a name="173" /><span class="True">     173:</span> 
<a name="174" /><span class="False">     174:</span> <span class="f">#</span><span class="n">else</span>
<a name="175" /><span class="False">     175:</span> 
<a name="176" /><span class="False">     176:</span> <span class="f">#</span><span class="n">define</span> <span class="b">node_page_state</span><span class="f">(</span><span class="b">node</span><span class="f">,</span> <span class="b">item</span><span class="f">)</span> <span class="b">global_page_state</span><span class="f">(</span><span class="b">item</span><span class="f">)</span>
<a name="177" /><span class="False">     177:</span> <span class="f">#</span><span class="n">define</span> <span class="b">zone_statistics</span><span class="f">(</span><span class="b">_zl</span><span class="f">,</span> <span class="b">_z</span><span class="f">,</span> <span class="b">gfp</span><span class="f">)</span> <span class="m">do</span> <span class="f">{</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="178" /><span class="False">     178:</span> 
<a name="179" /><span class="True">     179:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* CONFIG_NUMA */</span>
<a name="180" /><span class="True">     180:</span> 
<a name="181" /><span class="True">     181:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_YWRkX3pvbmVfcGFnZV9zdGF0ZV8w"><span class="b">add_zone_page_state</span></a><span class="f">(</span><span class="b">__z</span><span class="f">,</span> <span class="b">__i</span><span class="f">,</span> <span class="b">__d</span><span class="f">)</span> <span class="b">mod_zone_page_state</span><span class="f">(</span><span class="b">__z</span><span class="f">,</span> <span class="b">__i</span><span class="f">,</span> <span class="b">__d</span><span class="f">)</span>
<a name="182" /><span class="True">     182:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_c3ViX3pvbmVfcGFnZV9zdGF0ZV8w"><span class="b">sub_zone_page_state</span></a><span class="f">(</span><span class="b">__z</span><span class="f">,</span> <span class="b">__i</span><span class="f">,</span> <span class="b">__d</span><span class="f">)</span> <span class="b">mod_zone_page_state</span><span class="f">(</span><span class="b">__z</span><span class="f">,</span> <span class="b">__i</span><span class="f">,</span> <span class="f">-</span><span class="f">(</span><span class="b">__d</span><span class="f">)</span><span class="f">)</span>
<a name="183" /><span class="True">     183:</span> 
<a name="184" /><span class="True">     184:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">inc_zone_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span><span class="f">)</span><span class="f">;</span>
<a name="185" /><span class="True">     185:</span> 
<a name="186" /><span class="True">     186:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1NNUF8w"><span class="b">CONFIG_SMP</span></a>
<a name="187" /><span class="True">     187:</span> <span class="m">void</span> <span class="b">__mod_zone_page_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="188" /><span class="True">     188:</span> <span class="m">void</span> <span class="b">__inc_zone_page_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span><span class="f">)</span><span class="f">;</span>
<a name="189" /><span class="True">     189:</span> <span class="m">void</span> <span class="b">__dec_zone_page_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span><span class="f">)</span><span class="f">;</span>
<a name="190" /><span class="True">     190:</span> 
<a name="191" /><span class="True">     191:</span> <span class="m">void</span> <span class="b">mod_zone_page_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="192" /><span class="True">     192:</span> <span class="m">void</span> <span class="b">inc_zone_page_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span><span class="f">)</span><span class="f">;</span>
<a name="193" /><span class="True">     193:</span> <span class="m">void</span> <span class="b">dec_zone_page_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span><span class="f">)</span><span class="f">;</span>
<a name="194" /><span class="True">     194:</span> 
<a name="195" /><span class="True">     195:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">inc_zone_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span><span class="f">)</span><span class="f">;</span>
<a name="196" /><span class="True">     196:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">__inc_zone_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span><span class="f">)</span><span class="f">;</span>
<a name="197" /><span class="True">     197:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">dec_zone_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span><span class="f">)</span><span class="f">;</span>
<a name="198" /><span class="True">     198:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">__dec_zone_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span><span class="f">)</span><span class="f">;</span>
<a name="199" /><span class="True">     199:</span> 
<a name="200" /><span class="True">     200:</span> <span class="m">void</span> <span class="b">cpu_vm_stats_fold</span><span class="f">(</span><span class="m">int</span> <span class="b">cpu</span><span class="f">)</span><span class="f">;</span>
<a name="201" /><span class="True">     201:</span> <span class="m">void</span> <span class="b">refresh_zone_stat_thresholds</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="202" /><span class="True">     202:</span> 
<a name="203" /><span class="True">     203:</span> <span class="m">void</span> <span class="b">drain_zonestat</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">,</span> <span class="m">struct</span> <span class="b">per_cpu_pageset</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="204" /><span class="True">     204:</span> 
<a name="205" /><span class="True">     205:</span> <span class="m">int</span> <span class="b">calculate_pressure_threshold</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">)</span><span class="f">;</span>
<a name="206" /><span class="True">     206:</span> <span class="m">int</span> <span class="b">calculate_normal_threshold</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">)</span><span class="f">;</span>
<a name="207" /><span class="True">     207:</span> <span class="m">void</span> <span class="b">set_pgdat_percpu_threshold</span><span class="f">(</span><span class="b">pg_data_t</span> <span class="f">*</span><span class="b">pgdat</span><span class="f">,</span>
<a name="208" /><span class="True">     208:</span>                 <span class="m">int</span> <span class="f">(</span><span class="f">*</span><span class="b">calculate_pressure</span><span class="f">)</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="f">)</span><span class="f">)</span><span class="f">;</span>
<a name="209" /><span class="False">     209:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* CONFIG_SMP */</span>
<a name="210" /><span class="False">     210:</span> 
<a name="211" /><span class="False">     211:</span> <span class="k">/*</span>
<a name="212" /><span class="False">     212:</span> <span class="k"> * We do not maintain differentials in a single processor configuration.</span>
<a name="213" /><span class="False">     213:</span> <span class="k"> * The functions directly modify the zone and global counters.</span>
<a name="214" /><span class="False">     214:</span> <span class="k"> */</span>
<a name="215" /><span class="False">     215:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">__mod_zone_page_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">,</span>
<a name="216" /><span class="False">     216:</span>             <span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">,</span> <span class="m">int</span> <span class="b">delta</span><span class="f">)</span>
<a name="217" /><span class="False">     217:</span> <span class="f">{</span>
<a name="218" /><span class="False">     218:</span>     <span class="b">zone_page_state_add</span><span class="f">(</span><span class="b">delta</span><span class="f">,</span> <span class="b">zone</span><span class="f">,</span> <span class="b">item</span><span class="f">)</span><span class="f">;</span>
<a name="219" /><span class="False">     219:</span> <span class="f">}</span>
<a name="220" /><span class="False">     220:</span> 
<a name="221" /><span class="False">     221:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">__inc_zone_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">)</span>
<a name="222" /><span class="False">     222:</span> <span class="f">{</span>
<a name="223" /><span class="False">     223:</span>     <span class="b">atomic_long_inc</span><span class="f">(</span><span class="f">&amp;</span><span class="b">zone</span><span class="f">-&gt;</span><span class="b">vm_stat</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="224" /><span class="False">     224:</span>     <span class="b">atomic_long_inc</span><span class="f">(</span><span class="f">&amp;</span><span class="b">vm_stat</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="225" /><span class="False">     225:</span> <span class="f">}</span>
<a name="226" /><span class="False">     226:</span> 
<a name="227" /><span class="False">     227:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">__inc_zone_page_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">page</span><span class="f">,</span>
<a name="228" /><span class="False">     228:</span>             <span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">)</span>
<a name="229" /><span class="False">     229:</span> <span class="f">{</span>
<a name="230" /><span class="False">     230:</span>     <span class="b">__inc_zone_state</span><span class="f">(</span><span class="b">page_zone</span><span class="f">(</span><span class="b">page</span><span class="f">)</span><span class="f">,</span> <span class="b">item</span><span class="f">)</span><span class="f">;</span>
<a name="231" /><span class="False">     231:</span> <span class="f">}</span>
<a name="232" /><span class="False">     232:</span> 
<a name="233" /><span class="False">     233:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">__dec_zone_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">,</span> <span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">)</span>
<a name="234" /><span class="False">     234:</span> <span class="f">{</span>
<a name="235" /><span class="False">     235:</span>     <span class="b">atomic_long_dec</span><span class="f">(</span><span class="f">&amp;</span><span class="b">zone</span><span class="f">-&gt;</span><span class="b">vm_stat</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="236" /><span class="False">     236:</span>     <span class="b">atomic_long_dec</span><span class="f">(</span><span class="f">&amp;</span><span class="b">vm_stat</span><span class="f">[</span><span class="b">item</span><span class="f">]</span><span class="f">)</span><span class="f">;</span>
<a name="237" /><span class="False">     237:</span> <span class="f">}</span>
<a name="238" /><span class="False">     238:</span> 
<a name="239" /><span class="False">     239:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">__dec_zone_page_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">page</span><span class="f">,</span>
<a name="240" /><span class="False">     240:</span>             <span class="m">enum</span> <span class="b">zone_stat_item</span> <span class="b">item</span><span class="f">)</span>
<a name="241" /><span class="False">     241:</span> <span class="f">{</span>
<a name="242" /><span class="False">     242:</span>     <span class="b">__dec_zone_state</span><span class="f">(</span><span class="b">page_zone</span><span class="f">(</span><span class="b">page</span><span class="f">)</span><span class="f">,</span> <span class="b">item</span><span class="f">)</span><span class="f">;</span>
<a name="243" /><span class="False">     243:</span> <span class="f">}</span>
<a name="244" /><span class="False">     244:</span> 
<a name="245" /><span class="False">     245:</span> <span class="k">/*</span>
<a name="246" /><span class="False">     246:</span> <span class="k"> * We only use atomic operations to update counters. So there is no need to</span>
<a name="247" /><span class="False">     247:</span> <span class="k"> * disable interrupts.</span>
<a name="248" /><span class="False">     248:</span> <span class="k"> */</span>
<a name="249" /><span class="False">     249:</span> <span class="f">#</span><span class="n">define</span> <span class="b">inc_zone_page_state</span> <span class="b">__inc_zone_page_state</span>
<a name="250" /><span class="False">     250:</span> <span class="f">#</span><span class="n">define</span> <span class="b">dec_zone_page_state</span> <span class="b">__dec_zone_page_state</span>
<a name="251" /><span class="False">     251:</span> <span class="f">#</span><span class="n">define</span> <span class="b">mod_zone_page_state</span> <span class="b">__mod_zone_page_state</span>
<a name="252" /><span class="False">     252:</span> 
<a name="253" /><span class="False">     253:</span> <span class="f">#</span><span class="n">define</span> <span class="b">set_pgdat_percpu_threshold</span><span class="f">(</span><span class="b">pgdat</span><span class="f">,</span> <span class="b">callback</span><span class="f">)</span> <span class="f">{</span> <span class="f">}</span>
<a name="254" /><span class="False">     254:</span> 
<a name="255" /><span class="False">     255:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">refresh_cpu_vm_stats</span><span class="f">(</span><span class="m">int</span> <span class="b">cpu</span><span class="f">)</span> <span class="f">{</span> <span class="f">}</span>
<a name="256" /><span class="False">     256:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">refresh_zone_stat_thresholds</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="f">{</span> <span class="f">}</span>
<a name="257" /><span class="False">     257:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">cpu_vm_stats_fold</span><span class="f">(</span><span class="m">int</span> <span class="b">cpu</span><span class="f">)</span> <span class="f">{</span> <span class="f">}</span>
<a name="258" /><span class="False">     258:</span> 
<a name="259" /><span class="False">     259:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">drain_zonestat</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">,</span>
<a name="260" /><span class="False">     260:</span>             <span class="m">struct</span> <span class="b">per_cpu_pageset</span> <span class="f">*</span><span class="b">pset</span><span class="f">)</span> <span class="f">{</span> <span class="f">}</span>
<a name="261" /><span class="True">     261:</span> <span class="f">#</span><span class="n">endif</span>        <span class="k">/* CONFIG_SMP */</span>
<a name="262" /><span class="True">     262:</span> 
<a name="263" /><span class="True">     263:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">__mod_zone_freepage_state</span><span class="f">(</span><span class="m">struct</span> <span class="b">zone</span> <span class="f">*</span><span class="b">zone</span><span class="f">,</span> <span class="m">int</span> <span class="b">nr_pages</span><span class="f">,</span>
<a name="264" /><span class="True">     264:</span>                          <span class="m">int</span> <span class="b">migratetype</span><span class="f">)</span>
<a name="265" /><span class="True">     265:</span> <span class="f">{</span>
<a name="266" /><span class="True">     266:</span>     <span class="b">__mod_zone_page_state</span><span class="f">(</span><span class="b">zone</span><span class="f">,</span> <span class="b">NR_FREE_PAGES</span><span class="f">,</span> <span class="b">nr_pages</span><span class="f">)</span><span class="f">;</span>
<a name="267" /><span class="True">     267:</span>     <span class="m">if</span> <span class="f">(</span><a href="cpu.c_macros_ref.html#_aXNfbWlncmF0ZV9jbWFfMA__"><span class="b">is_migrate_cma</span></a><span class="f">(</span><span class="b">migratetype</span><span class="f">)</span><span class="f">)</span>
<a name="268" /><span class="True">     268:</span>         <span class="b">__mod_zone_page_state</span><span class="f">(</span><span class="b">zone</span><span class="f">,</span> <span class="b">NR_FREE_CMA_PAGES</span><span class="f">,</span> <span class="b">nr_pages</span><span class="f">)</span><span class="f">;</span>
<a name="269" /><span class="True">     269:</span> <span class="f">}</span>
<a name="270" /><span class="True">     270:</span> 
<a name="271" /><span class="True">     271:</span> <span class="m">extern</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span> <span class="m">const</span> <span class="b">vmstat_text</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="272" /><span class="True">     272:</span> 
<a name="273" /><span class="True">     273:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _LINUX_VMSTAT_H */</span>
<a name="274" /><span class="True">     274:</span> </pre>
  </body>
</html>
